package com.poisonh.unifiedauth.dialog;

import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.PopupWindow;
import android.widget.TextView;

import com.poisonh.unifiedauth.R;

/**
 * Created by PoisonH on 2016/8/1.
 */
public class PopWindow extends PopupWindow
{
    private View conentView;

    public PopWindow(final Activity context)
    {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        conentView = inflater.inflate(R.layout.popup_dialog, null);
        int h = context.getWindowManager().getDefaultDisplay().getHeight();
        int w = context.getWindowManager().getDefaultDisplay().getWidth();
        // 设置SelectPicPopupWindow的View
        this.setContentView(conentView);
        // 设置SelectPicPopupWindow弹出窗体的宽
       // this.setWidth(w / 2 - 50);
         this.setWidth(LayoutParams.WRAP_CONTENT);
        // 设置SelectPicPopupWindow弹出窗体的高
        this.setHeight(LayoutParams.WRAP_CONTENT);
        // 设置SelectPicPopupWindow弹出窗体可点击
        this.setFocusable(true);
        this.setOutsideTouchable(true);
        // 刷新状态
        this.update();
        // 实例化一个ColorDrawable颜色为半透明
        ColorDrawable dw = new ColorDrawable(0000000000);
        // 点back键和其他地方使其消失,设置了这个才能触发OnDismisslistener ，设置其他控件变化等操作
        this.setBackgroundDrawable(dw);
        // mPopupWindow.setAnimationStyle(android.R.style.Animation_Dialog);
        // 设置SelectPicPopupWindow弹出窗体动画效果
        this.setAnimationStyle(R.style.AnimationPreview);
        TextView tv_record = (TextView) conentView.findViewById(R.id.tv_record);
        TextView tv_help = (TextView) conentView.findViewById(R.id.tv_help);
        tv_record.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {
                ClickPositionListener listener = (ClickPositionListener) context;
                listener.onClickPosition(0);
                PopWindow.this.dismiss();
            }
        });

        tv_help.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                ClickPositionListener listener = (ClickPositionListener) context;
                listener.onClickPosition(1);
                PopWindow.this.dismiss();
            }
        });
    }

    /**
     * 显示popupWindow
     *
     * @param parent
     */
    public void showPopupWindow(View parent)
    {
        if (!this.isShowing())
        {
            // 以下拉方式显示popupwindow
            this.showAsDropDown(parent, 0, 0);
        } else
        {
            this.dismiss();
        }
    }

    public interface ClickPositionListener
    {
        void onClickPosition(int pos);
    }
}

